# 虚拟环境中安装celery 生产者消费者设计模式
# pip install Celery
# 创建celery_tasks 包
# 创建main.py文件,它是celery的入口文件
# 创建celery 实例
# 加载配置


# 从你刚刚下载的包中导入 Celery 类
from celery import Celery


# 在创建celery实例之前,把配置模块加载到运行环境中
import os
if not os.getenv('DJANGO_SETTINGS_MODULE'):
    os.environ['DJANGO_SETTINGS_MODULE'] = 'meiduo_mall.settings.dev'


# 利用导入的 Celery 创建对象
# Celery('别名')
celery_app = Celery('meiduo')

# 将刚刚的 config 配置给 celery
# 里面的参数为我们创建的 config 配置文件:
# celery_app.config_from_object('配置文件')
celery_app.config_from_object('celery_tasks.config')

# 让 celery_app 自动捕获目标地址下的任务:
# 就是自动捕获 tasks
# 注册异步任务
celery_app.autodiscover_tasks(['celery_tasks.sms', 'celery_tasks.email'])


# 启动 celery 服务:
# 1.虚拟环境中进入工程根目录
# cd 工程根目录
# 2.使用命令
# celery -A celery_tasks.main worker -l info
'''
参数说明:
    celery : 调用 celery 命令
    -A : 作用是指定要启动的文件, 这个参数后面的文件会被执行.
    worker : 启动的对象是 worker, 工人, 干活的人
    -l : 指日志打印等级,一般日志都是通知形式的,即: info 级别
'''